Session Initiation Protocol (SIP), specified in the RFC 3261 of the Internet Engineering Task Force (IETF) SIP Working Group, is an application-layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants, and is widely used as a signaling protocol for Voice over IP (VoIP). SIP sessions can be of different media types, including Internet Protocol (IP) telephone calls, instant messaging (IM), multimedia distribution, and multimedia conferences. SIP provides a signaling and call setup protocol for IP-based communications that can support many of the call processing functions and features present in the public switched telephone network (PSTN). SIP itself does not define these features. However, SIP permits such features to be built into network elements, such as proxy servers and user agents, and implementing these features permits familiar telephone-like operations, such as dialing a number, causing a phone to ring, and hearing ringback tones or a busy signal.
SIP works in concert with several other protocols and is only involved in the signaling portion of a communication session. SIP acts as a carrier for the Session Description Protocol (SDP), which describes the set up and media content of the session, such as the IP ports to use and the codec being used. SIP clients typically use Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) to connect to SIP servers and other SIP endpoints. SIP is most commonly used to set up and tear down voice and video calls. However, it can be used in any application where session management is a requirement, such as event subscription and notification, and terminal mobility. All communications are done over separate session protocols, typically implementing Real-Time Transport Protocol (RTP).
SIP-enabled telephony networks can also implement many of the more advanced call processing features present in Signaling System 7 (SS7). However, while SS7 is a highly centralized protocol, characterized by complex central network architecture and unintelligent endpoints (conventional telephone handsets), SIP is a peer-to-peer protocol. SIP features are typically implemented in the communicating endpoints (i.e. at the edge of the network) as opposed to traditional SS7 features, which are implemented in the network.
Dual mode devices permit a user to roam between WiFi, or VoIP networks, and cellular networks, such as 2.5 G and 3.0 G cellular networks. Generally, to switch, or handoff, between the networks requires communication with an adjunct server associated with the user's home network to establish a new communication session with a visited network, and to implement and monitor the communication session for administrative reasons, such as available functionality, accounting and other purposes. In addition to the high communication overhead and time required to make such handoffs, maintaining and operating adjunct roaming servers is costly, and there are security concerns inherent in their operation. In addition, implementing changes to the service offerings or system functionality requires problematic changes at the server side.
It is, therefore, desirable to provide a client side method and system to handoff mobile communications between different wireless networks.